//
// Created by RandBII on 2020/12/24.
//

#ifndef FFMPEGFORANDROID_VIDEORENDER_H
#define FFMPEGFORANDROID_VIDEORENDER_H

#include "ImageDefine.h"

#define VIDEO_RENDER_OPENGL 0
#define VIDEO_RENDER_ANWINDOW 1
#define VIDEO_RENDER_3D_VR 2


//渲染器的基类
class VideoRender {
public:
    VideoRender(int type) {
        mRenderType = type;
    }

    virtual ~VideoRender() = default;

    virtual void Init(int videoSize, int videoHeight, int *dstSize) = 0;

    virtual void RenderVideoFrame(NativeImage *pImg) = 0;

    virtual void UnInit() = 0;

    int GetRenderType();

private:
    int mRenderType = VIDEO_RENDER_ANWINDOW;

};


#endif //FFMPEGFORANDROID_VIDEORENDER_H
